package com.ict.txmsv2.mapper;

import com.ict.txmsv2.dto.StudentInfoQueryDto;
import com.ict.txmsv2.model.CompetitionPrize;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author lht
 * @date 2021/4/22 - 13:54
 * @description: 竞赛奖励dao
 */
public interface CompetitionPrizeMapper {

    /**
     * 保存一个竞赛奖励信息
     *
     * @param competitionPrize
     * @return
     */
    int save(@Param("competitionPrize") CompetitionPrize competitionPrize);

    /**
     * 查询竞赛奖励信息
     *
     * @param page
     * @param size
     * @param queryDto
     * @return
     */

    List<CompetitionPrize> list(@Param("page") Integer page, @Param("size") Integer size, @Param("queryDto") StudentInfoQueryDto queryDto);

    /**
     * 通过id删除竞赛奖励记录
     *
     * @param id
     * @return
     */
    @Delete("delete from competition_prize where id = #{id} ")
    int deleteById(@Param("id") Integer id);

    /**
     * 更新一条数据
     *
     * @param competitionPrize
     * @return
     */
    int update(@Param("competitionPrize") CompetitionPrize competitionPrize);

    /**
     * 获取查询的条数
     *
     * @param queryDto
     * @return
     */
    long getTotal(@Param("queryDto") StudentInfoQueryDto queryDto);

    /**
     * 获取查询的总条数
     *
     * @param name
     * @return
     */
    long getTotalByName(@Param("name") String name);

    /**
     * 通过学生名查询其竞赛奖励
     *
     * @param page
     * @param size
     * @param name
     * @return
     */
    List<CompetitionPrize> getCompetitionPrizeEmpByName(@Param("page") Integer page, @Param("size") Integer size, @Param("name") String name);

    /**
     * 查询所有数据
     * @return
     */
    List<CompetitionPrize> getAllCompetitionPrizeInfo();

    /**
     * 批量插入
     * @param list
     * @return
     */
    int batchSave(@Param("list") List<CompetitionPrize> list);
}
